home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / documents / RFC / rfc1257.txt < prev    next >
Text File  |  1994-08-01  |  11KB  |  283 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                       C. Partridge
  8. Request for Comments: 1257         Swedish Institute of Computer Science
  9.                                                           September 1991
  10.  
  11.  
  12.    Isochronous Applications Do Not Require Jitter-Controlled Networks
  13.  
  14. Status of this Memo
  15.  
  16.    This memo provides information for the Internet community.  It does
  17.    not specify an Internet standard.  Distribution of this memo is
  18.    unlimited.
  19.  
  20. Abstract
  21.  
  22.    This memo argues that jitter control is not required for networks to
  23.    support isochronous applications.  A network providing bandwidth and
  24.    bounds delay is sufficient.  The implications for gigabit
  25.    internetworking protocols are briefly considered.
  26.  
  27. Introduction
  28.  
  29.    An oft-stated goal of many of the ongoing gigabit networking research
  30.    projects is to make it possible to support high bandwidth isochronous
  31.    applications.  An isochronous application is an application which
  32.    must generate or process regular amounts of data at fixed intervals.
  33.    Examples of such applications include telephones, which send and
  34.    receive voice samples at regular intervals, and fixed rate video-
  35.    codecs, which generate data at regular intervals and which must
  36.    receive data at regular intervals.
  37.  
  38.    One of the properties of isochronous applications like voice and
  39.    video data streams is that their users may be sensitive to the
  40.    variation in interarrival times between data delivered to the final
  41.    output device.  This interarrival time is called "jitter" for very
  42.    small variances (less than 10 Hz) and "wander" if it is somewhat
  43.    larger (less than one day).  For convenience, this memo will use the
  44.    term jitter for both jitter and wander.
  45.  
  46.    A couple of examples help illustrate the sensitivity of applications
  47.    to jitter.  Consider a user watching a video at her workstation.  If
  48.    the screen is not updated regularly every 30th of a second or faster,
  49.    the user will notice a flickering in the image.  Similarly, if voice
  50.    samples are not delivered at regular intervals, voice output may
  51.    sound distorted.  Thus the user is sensitive to the interarrival time
  52.    of data at the output device.
  53.  
  54.    Observe that if two users are conferring with each other from their
  55.  
  56.  
  57.  
  58. Partridge                                                       [Page 1]
  59.  
  60. RFC 1257                 Isochronous and Jitter           September 1991
  61.  
  62.  
  63.    workstations, then beyond sensitivity to interarrival times, the
  64.    users will also be sensitive to end-to-end delay.  Consider the
  65.    difference between conferencing over a satellite link and a
  66.    terrestrial link.  Furthermore, for the data to be able to arrive in
  67.    time, there must be sufficient bandwidth.  Bandwidth requirements are
  68.    particularly important for video: HDTV, even after compression,
  69.    currently requires bandwidth in excess of 100 Mbits/second.
  70.  
  71.    Because multimedia applications are sensitive to jitter, bandwidth
  72.    and delay, it has been suggested that the networks that carry
  73.    multimedia traffic must be able to allocate and control jitter,
  74.    bandwidth and delay [1,2].
  75.  
  76.    This memo argues that a network which simply controls bandwidth and
  77.    delay is sufficient to support networked multimedia applications.
  78.    Jitter control is not required.
  79.  
  80. Isochrony without Jitter Control
  81.  
  82.    The key argument of this memo is that an isochronous service can be
  83.    provided by simply bounding the maximum delay through the network.
  84.  
  85.    To prove this argument, consider the following scenario.
  86.  
  87.    The network is able to bound the maximum transit delay on a channel
  88.    between sender and receiver and at least the receiver knows what the
  89.    bound is.  (These assumptions come directly from our assertion that
  90.    the network can bound delay).  The term "channel" is used to mean
  91.    some amount of bandwidth delivered over some path between sender and
  92.    receiver.
  93.  
  94.    Now imagine an operating system in which applications can be
  95.    scheduled to be active at regular intervals. Further assume that the
  96.    receiving application has buffer space equal to the channel bandwidth
  97.    times the maximum interarrival variance.  (Observe that the maximum
  98.    interarrival variance is always known - in the worst case, the
  99.    receiver can assume the maximum variance equals the maximum delay).
  100.  
  101.    Now consider a situation in which the sender of the isochronous data
  102.    timestamps each piece of data when it is generated, using a universal
  103.    time source, and then sends the data to the receiver.  The receiver
  104.    reads a piece data in as soon as it is received and and places the
  105.    timestamped data into its buffer space.  The receiver processes each
  106.    piece of data only at the time equal to the data's timestamp plus the
  107.    maximum transit delay.
  108.  
  109.    I argue that the receiver is processing data isochronously and thus
  110.    we have shown that a network need not be isochronous to support
  111.  
  112.  
  113.  
  114. Partridge                                                       [Page 2]
  115.  
  116. RFC 1257                 Isochronous and Jitter           September 1991
  117.  
  118.  
  119.    isochronous applications.
  120.  
  121.    A few issues have to be resolved to really make this proof stick.
  122.  
  123.    The first issue is whether the operating system can be expected to
  124.    schedule applications to be active at regular intervals.  I will
  125.    argue that whether or not the network is isochronous, the operating
  126.    system must be able to schedule applications at regular intervals
  127.  
  128.    Consider an isochronous network which delivers data with a tight
  129.    bound on jitter.  If the application on the receiving system does not
  130.    wake up when new data arrives, but waits until its next turn in the
  131.    processor, then the isochrony of the network service would be lost
  132.    due to the vagaries of operating system scheduling.  Thus, we may
  133.    reasonably expect that the operating system provides some mechanism
  134.    for waking up the application in response to a network interrupt for
  135.    a particular packet.  But if the operating system can wake up an
  136.    application in response to an interrupt, it can just as easily wake
  137.    the application in response to a clock interrupt at a particular
  138.    time.  Waking up to a clock interrupt provides the regular scheduling
  139.    service we wanted.
  140.  
  141.    Observe that the last paragraph suggests an application of the End-
  142.    To-End Principle [3].  Given that the operating system must provide a
  143.    mechanism sufficient for restoring isochrony, regardless of whether
  144.    the network is isochronous, it seems unreasonable to require the
  145.    network to redundantly provide the same service.
  146.  
  147.    Another issue is the question of whether all receiving systems will
  148.    have memory for buffering.  For example, the telephone network is
  149.    required to deliver its data isochronously because many telephones do
  150.    not have memory. However, most receiving devices do have memory, and
  151.    those devices, like telephones, that do not currently have memory
  152.    seem likely to have memory in the future.  Many telephones have a
  153.    modest amount of memory now.  Furthermore, even if the end nodes
  154.    require isochronous traffic it is possible that last switch before
  155.    delivery to the end node could provide the necessary buffer space to
  156.    restore isochrony to the data flow.
  157.  
  158.    Readers may wonder if the assumption of a universal time source is
  159.    reasonable.  The Network Time Protocol (NTP) has been widely tested
  160.    on the Internet and is capable of distributing time accurately to the
  161.    millisecond [4].  Its designer is currently contemplating the
  162.    possibility of distributing time accurate to the microsecond.
  163.  
  164. Some Implications
  165.  
  166.    The most important observation that can be made is that jitter
  167.  
  168.  
  169.  
  170. Partridge                                                       [Page 3]
  171.  
  172. RFC 1257                 Isochronous and Jitter           September 1991
  173.  
  174.  
  175.    control is not required for networks to be able to support
  176.    isochronous applications.  A corollary observation is that if we are
  177.    to design an internetworking protocol for isochronous applications,
  178.    that internetworking protocol should probably only offer control over
  179.    delay and bandwidth.  (There may exist networks that simply manage
  180.    delay and bandwidth. We know that's sufficient for multimedia
  181.    networking so our multimedia internetworking protocol should be
  182.    capable of running over those networks.  But if the multimedia
  183.    internetworking protocol requires control over jitter too, then
  184.    jitter control must be implemented on those subnetworks that don't
  185.    have it.  Implementing jitter control is clearly feasible - the
  186.    method for restoring jitter in the last section could be used on a
  187.    single network.  But if we know jitter control isn't needed, why
  188.    require networks to implement it?)
  189.  
  190.    Note that the argument simply says that jitter control is not
  191.    required to support isochronous applications.  It may be the case
  192.    that jitter control is useful for other reasons.  For example, work
  193.    at Berkeley suggests that jitter control makes it possible to reduce
  194.    the amount of buffering required in intermediate network nodes [Y].
  195.    Thus, even if applications express their requirements only in terms
  196.    of bandwidth and delay, a network may find it useful to try to limit
  197.    jitter and thereby reduce the amount of memory required in each node.
  198.  
  199. Acknowledgements
  200.  
  201.    Thanks to the members of the End-To-End Interest mailing list who
  202.    provided a number of invaluable comments on this memo.
  203.  
  204. References
  205.  
  206.    [1] Leiner, B., Editor, "Critical Issues in High Bandwidth
  207.        Networking", Report to DARPA, August 1988.
  208.  
  209.    [2] Ferrari, D., "Client Requirements for Real-Time Communication
  210.        Services", IEEE Communications Magazine, November 1990.  See also
  211.        RFC 1193, November, 1990.
  212.  
  213.    [3] Saltzer, J., Reed D., and D. Clark, "End-To-End Arguments in
  214.        System Design", ACM Transactions on Computer Systems, Vol. 2, No.
  215.        4, November 1984.
  216.  
  217.    [4] Mills, D., "Measured Performance of the Network Time Protocol in
  218.        the Internet System", RFC 1128, UDEL, October 1989.
  219.  
  220.    [5] Verma, D., Zhang H., and D. Ferrari. "Guaranteeing Delay Jitter
  221.        Bounds in Packet Switching Networks", Proceedings of TriComm '91,
  222.        Chapel Hill, North Carolina, April 1991.
  223.  
  224.  
  225.  
  226. Partridge                                                       [Page 4]
  227.  
  228. RFC 1257                 Isochronous and Jitter           September 1991
  229.  
  230.  
  231. Security Considertaions
  232.  
  233.    Security issues are not discussed in this memo.
  234.  
  235. Author's Address
  236.  
  237.    Craig Partridge
  238.    Swedish Institute of Computer Science
  239.    Box 1263
  240.    164 28 Kista
  241.    SWEDEN
  242.  
  243.    Phone: +46 8 752 1524
  244.  
  245.    EMail: craig@SICS.SE
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282. Partridge                                                       [Page 5]
  283.